#!/usr/bin/env bash

## 当前脚本清单（以脚本名前缀排序）
##############################  京  东  商  城  ##############################
## 列表格式： | 脚本名 | 活动名 | 备注内容 |

## 短期或长期活动：
# jd_try.js                    京东试用
# jd_sqdyj.js                  省钱大赢家翻翻乐             （柠檬版）
# jd_sq.js                     省钱大赢家翻翻乐获取邀请码
# jd_wsdlb.js                  柠檬我是大老板农场           （需要种水果）
# jd_SplitRedPacket.js         天降红包                    （默认助力第一个账号）
# jd_star_store.js             明星小店                    （最新修复版）
# jd_ddnc_farmpark.js          东东乐园
# jx_pasture.js                京喜牧场                    （最新修复版）
# jx_cfdtx.js                  京喜财富岛提现
# jx_mc_coin.js                京喜牧场收集金币
# jx_mc_emptycabbage.js        京喜牧场清空白菜
# Andy_sendBeans.js            送豆得豆
# long_half_redrain.js         半点红包雨
# long_super_redrain.js        整点红包雨
# zooElecsport.js              东东电竞经理
# jd_bookshop-new.js           口袋书店新版                 21.6.24

## 一次性活动脚本：

##############################  近  期  删  除  的  活  动  脚  本  ##############################
# jd_superBrand.js
# jd_qqtmy.js
# jd_limitBox.js
# jd_cute_animals.js
# jd_cute_animalsCollect.js
# jd_cute_animalsMap.js
# jd_ry618.js
# adolf_flp.js
# adolf_superbox.js
# long_hby_lottery.js
# zy_618jc.js
# zooLongzhou.js
# zooSupershophf.js
# adolf_oneplus.js
# ddo_pk.js

##############################  京  东  到  家  ##############################
## jddj_fruit.js                京东到家 果园任务
## jddj_fruit_collectWater.js   京东到家 果园水车
## jddj_fruit_code.js           京东到家 果园获取互助码
## jddj_getPoints.js            京东到家 庄园领水滴
## jddj_bean.js                 京东到家 鲜豆任务
## jddj_plantBeans.js           京东到家 鲜豆庄园

## 京东到家需开通 "到家果园" 活动，自行挑选水果种植跟东东农场类似
## 不想薅这个APP的羊毛就忽略这些脚本，顺便把定时任务注释掉

## 京东到家账号环境变量（必填）：
## export JDDJ_CKPATH="/jd/scripts/jdCookie.js"       必须指定路径否则会报错

## 提交互助码 TG BOT
# @passerbybbot

##############################  定  义  下  载  代  理  （内置功能）  ##############################
if [[ ${EnableExtraShellProxyDownload} == true ]]; then
  DownloadJudgment=${ExtraShellProxyUrl}
else
  DownloadJudgment=
fi

##############################  作  者  昵  称  &  脚  本  地  址  &  脚  本  名  称  （必填）  ##############################

author_list="MoPoQAQ ZCY01 passerby-b LongZhuZhu Wenmoux zooPanda panghu MoPoQAQ star261 Andy"

## 京喜财富岛提现（不用就注释掉定时任务）
scripts_base_url_1=${DownloadJudgment}https://raw.githubusercontent.com/jiulan/platypus/main/scripts/
my_scripts_list_1="jx_cfdtx.js jdJxncTokens.js"

## 京东试用
scripts_base_url_2=https://gitee.com/SuperManito/scripts/raw/master/
my_scripts_list_2="jd_try.js"

## 京东到家
scripts_base_url_3=${DownloadJudgment}https://raw.githubusercontent.com/passerby-b/JDDJ/main/
my_scripts_list_3="jddj_fruit.js jddj_fruit_collectWater.js jddj_bean.js jddj_plantBeans.js jddj_getPoints.js jddj_fruit_code.js jddj_cookie.js"

## 龙王
scripts_base_url_4=${DownloadJudgment}https://raw.githubusercontent.com/longzhuzhu/nianyu/main/qx/
my_scripts_list_4="long_half_redrain.js long_super_redrain.js"

## Wenmoux
scripts_base_url_5=${DownloadJudgment}https://raw.githubusercontent.com/Wenmoux/scripts/wen/jd/
my_scripts_list_5="jd_SplitRedPacket.js jd_ddnc_farmpark.js"

## zoo
scripts_base_url_6=${DownloadJudgment}https://raw.githubusercontent.com/zooPanda/zoo/dev/
my_scripts_list_6="zooElecsport.js"

## 柠檬/panghu
scripts_base_url_7=${DownloadJudgment}https://raw.githubusercontent.com/panghu999/panghu/master/
my_scripts_list_7="jd_sqdyj.js jd_sq.js jd_wsdlb.js"

## moposmall
scripts_base_url_8=${DownloadJudgment}https://raw.githubusercontent.com/moposmall/Script/main/Me/
my_scripts_list_8="jx_mc_coin.js jx_mc_emptycabbage.js"

## star261
scripts_base_url_9=${DownloadJudgment}https://raw.githubusercontent.com/star261/jd/main/scripts/
my_scripts_list_9="jd_jxmc.js jd_star_shop.js"

## Andy
scripts_base_url_10=${DownloadJudgment}https://raw.githubusercontent.com/zsm85887823/AndyJD/main/own/
my_scripts_list_10="Andy_sendBeans.js"

## 免责声明：部分脚本的来源仓库启用了别人 FORK 或搬运的库并非原作者的官方渠道，能不能用我不知道，有什么问题也别问我

##############################  随  机  函  数  ##############################
rand() {
  min=$1
  max=$(($2 - $min + 1))
  num=$(cat /proc/sys/kernel/random/uuid | cksum | awk -F ' ' '{print $1}')
  echo $(($num % $max + $min))
}
cd ${ShellDir}
index=1
for author in $author_list; do
  echo -e "开始下载 $author 的活动脚本：\n"
  eval scripts_list=\$my_scripts_list_${index}
  eval url_list=\$scripts_base_url_${index}
  for js in $scripts_list; do
    eval url=$url_list$js
    echo $url

    if [ ${js} = "jd_star_shop.js" ]; then
      eval name="jd_star_store.js"
    elif [ ${js} = "jd_jxmc.js" ]; then
      eval name="jx_pasture.js"
    else
      eval name=$js
    fi

    echo $name
    wget -q --no-check-certificate $url -O scripts/$name.new

    if [ $? -eq 0 ]; then
      mv -f scripts/$name.new scripts/$name
      echo -e "更新 $name 完成...\n"
      croname=$(echo "$name" | awk -F\. '{print $1}')
      script_date=$(cat scripts/$name | grep "http" | awk '{if($1~/^[0-59]/) print $1,$2,$3,$4,$5}' | sort | uniq | head -n 1)
      if [ -z "${script_date}" ]; then
        cron_min=$(rand 1 59)
        cron_hour=$(rand 7 9)
        [ $(grep -c "$croname" ${ListCron}) -eq 0 ] && sed -i "/hangup/a${cron_min} ${cron_hour} * * * bash jd $croname" ${ListCron}
      else
        [ $(grep -c "$croname" ${ListCron}) -eq 0 ] && sed -i "/hangup/a${script_date} bash jd $croname" ${ListCron}
      fi
    else
      [ -f scripts/$name.new ] && rm -f scripts/$name.new
      echo -e "更新 $name 失败，使用上一次正常的版本...\n"
    fi
  done
  index=$(($index + 1))
done

##############################  自  定  义  命  令  ##############################

## 京东试用脚本添加取关定时任务
[ -f ${ScriptsDir}/jd_try.js ] && grep -q "5 10 \* \* \* bash jd jd_unsubscribe" ${ListCron}
if [ $? -ne 0 ]; then
  echo -e '# 京东试用脚本添加的取关定时任务\n5 10 * * * bash jd jd_unsubscribe' >>${ListCron}
fi

rm -rf ${ScriptsDir}/jd_superBrand.js && sed -i "/jd_superBrand/d" ${ListCron}
rm -rf ${ScriptsDir}/jd_limitBox.js && sed -i "/jd_limitBox/d" ${ListCron}
rm -rf ${ScriptsDir}/jd_cute_animals.js && sed -i "/jd_cute_animals/d" ${ListCron}
rm -rf ${ScriptsDir}/jd_cute_animalsCollect.js && sed -i "/jd_cute_animalsCollect/d" ${ListCron}
rm -rf ${ScriptsDir}/jd_cute_animalsMap.js && sed -i "/jd_cute_animalsMap/d" ${ListCron}
rm -rf ${ScriptsDir}/jd_ry618.js && sed -i "/jd_ry618/d" ${ListCron}
rm -rf ${ScriptsDir}/jd_qqtmy.js && sed -i "/jd_qqtmy/d" ${ListCron}
rm -rf ${ScriptsDir}/long_hby_lottery.js && sed -i "/long_hby_lottery/d" ${ListCron}
rm -rf ${ScriptsDir}/zy_618jc.js && sed -i "/zy_618jc/d" ${ListCron}
rm -rf ${ScriptsDir}/zooLongzhou.js && sed -i "/zooLongzhou/d" ${ListCron}
rm -rf ${ScriptsDir}/zooSupershophf.js && sed -i "/zooSupershophf/d" ${ListCron}
rm -rf ${ScriptsDir}/adolf_flp.js && sed -i "/adolf_flp/d" ${ListCron}
rm -rf ${ScriptsDir}/adolf_superbox.js && sed -i "/adolf_superbox/d" ${ListCron}
rm -rf ${ScriptsDir}/adolf_oneplus.js && sed -i "/adolf_oneplus/d" ${ListCron}
rm -rf ${ScriptsDir}/ddo_pk.js && sed -i "/ddo_pk/d" ${ListCron}